Hệ thống xếp lịch học tín chỉ cho sinh viên CNTT trên PHP & MySQL
112.079 lượt xem;
1 <!DOCTYPE html>
2 <?php if(!defined('PREPEND_PATH')) define('PREPEND_PATH', '../'); ?>
3 <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
4 <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
5 <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
6 <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
7 <head>
8 <meta charset="<?php echo datalist_db_encoding; ?>">
9 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
10 <meta name="description" content="">
11 <meta name="viewport" content="width=device-width, initial-scale=1.0">
12 <title>Hệ thống xếp lịch học tín chỉ cho sinh viên CNTT | <?php echo $Translation['admin area']; ?><?php echo html_attr(isset($GLOBALS['page_title']) ? " | {$GLOBALS['page_title']}" : ''); ?></title>
13
14 <link id="browser_favicon" rel="shortcut icon" href="<?php echo PREPEND_PATH; ?>resources/table_icons/administrator.png">
15
16 <link rel="stylesheet" href="<?php echo PREPEND_PATH; ?>resources/initializr/css/bootstrap.css">
17 <link rel="stylesheet" href="<?php echo PREPEND_PATH; ?>dynamic.css.php">
18
19 <!--[if lt IE 9]>
20 <script src="<?php echo PREPEND_PATH; ?>resources/initializr/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
21 <![endif]-->
22 <script src="<?php echo PREPEND_PATH; ?>resources/jquery/js/jquery-1.12.4.min.js"></script>
23 <script>var $j = jQuery.noConflict(); var AppGini = AppGini || {};</script>
24 <script src="toolTips.js"></script>
25 <script src="<?php echo PREPEND_PATH; ?>resources/initializr/js/vendor/bootstrap.min.js"></script>
26 <script src="<?php echo PREPEND_PATH; ?>resources/lightbox/js/prototype.js"></script>
27 <script src="<?php echo PREPEND_PATH; ?>resources/lightbox/js/scriptaculous.js?load=effects"></script>
28 <script>
29
30 // VALIDATION FUNCTIONS FOR VARIOUS PAGES
31
32 function jsValidateEmail(address){
33 var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
34 if(reg.test(address) == false){
35 modal_window({ message: '<div class="alert alert-danger">'+"<?php echo $Translation['invalid email'];?>"+'</div>', title: "<?php echo $Translation['error'] ; ?>" });
36 return false;
37 }else{
38 return true;
39 }
40 }
41
42 function jsShowWait(){
43 return window.confirm("<?php echo $Translation['sending mails']; ?>");
44 }
45
46 function jsValidateAdminSettings(){
47 var p1=document.getElementById('adminPassword').value;
48 var p2=document.getElementById('confirmPassword').value;
49 if(p1=='' || p1==p2){
50 return jsValidateEmail(document.getElementById('senderEmail').value);
51 }else{
52 modal_window({ message: '<div class="alert alert-error">'+"<?php echo $Translation['password mismatch']; ?>"+'</div>', title: "<?php echo $Translation['error'] ; ?>" });
53 return false;
54 }
55 }
56
57 function jsConfirmTransfer(){
58 var confirmMessage;
59 var sg=document.getElementById('sourceGroupID').options[document.getElementById('sourceGroupID').selectedIndex].text;
60 var sm=document.getElementById('sourceMemberID').value;
61 var dg=document.getElementById('destinationGroupID').options[document.getElementById('destinationGroupID').selectedIndex].text;
62 if(document.getElementById('destinationMemberID')){
63 var dm=document.getElementById('destinationMemberID').value;
64 }
65 if(document.getElementById('dontMoveMembers')){
66 var dmm=document.getElementById('dontMoveMembers').checked;
67 }
68 if(document.getElementById('moveMembers')){
69 var mm=document.getElementById('moveMembers').checked;
70 }
71
72 //confirm('sg='+sg+'\n'+'sm='+sm+'\n'+'dg='+dg+'\n'+'dm='+dm+'\n'+'mm='+mm+'\n'+'dmm='+dmm+'\n');
73
74 if(dmm && !dm){
75 modal_window({ message: '<div>'+"<?php echo $Translation['complete step 4']; ?>"+'</div>', title: "<?php echo $Translation['info']; ?>", close: function(){ /* */ jQuery('#destinationMemberID').focus(); } });
76 return false;
77 }
78
79 if(mm && sm!='-1'){
80
81 confirmMessage = "<?php echo $Translation['sure move member']; ?>";
82 confirmMessage = confirmMessage.replace(/<MEMBER>/, sm).replace(/<OLDGROUP>/, sg).replace(/<NEWGROUP>/, dg);
83 return window.confirm(confirmMessage);
84
85 }
86 if((dmm || dm) && sm!='-1'){
87
88 confirmMessage = "<?php echo $Translation['sure move data of member']; ?>";
89 confirmMessage = confirmMessage.replace(/<OLDMEMBER>/, sm).replace(/<OLDGROUP>/, sg).replace(/<NEWMEMBER>/, dm).replace(/<NEWGROUP>/, dg);
90 return window.confirm(confirmMessage);
91 }
92
93 if(mm){
94
95 confirmMessage = "<?php echo $Translation['sure move all members']; ?>";
96 confirmMessage = confirmMessage.replace(/<OLDGROUP>/, sg).replace(/<NEWGROUP>/, dg);
97 return window.confirm(confirmMessage);
98 }
99
100 if(dmm){
101
102
103 confirmMessage = "<?php echo $Translation['sure move data of all members']; ?>";
104 confirmMessage = confirmMessage.replace(/<OLDGROUP>/, sg).replace(/<MEMBER>/, dm).replace(/<NEWGROUP>/, dg);
105 return window.confirm(confirmMessage);
106 }
107 }
108
109 function showDialog(dialogId){
110 $$('.dialog-box').invoke('addClassName', 'hidden-block');
111 $(dialogId).removeClassName('hidden-block');
112 return false
113 };
114
115 function hideDialogs(){
116 $$('.dialog-box').invoke('addClassName', 'hidden-block');
117 return false
118 };
119
120
121 $j(function(){
122 $j('input[type=submit],input[type=button]').each(function(){
123 var label = $j(this).val();
124 var onclick = $j(this).attr('onclick') || '';
125 var name = $j(this).attr('name') || '';
126 var type = $j(this).attr('type');
127
128 $j(this).replaceWith('<button class="btn btn-primary" type="' + type + '" onclick="' + onclick + '" name="' + name + '" value="' + label + '">' + label + '</button>');
129 });
130
131 /* fix links inside alerts */
132 $j('.alert a:not(.btn)').addClass('alert-link');
133 });
134
135 </script>
136
137 <link rel="stylesheet" href="adminStyles.css">
138
139 <style>
140 .dialog-box{
141 background-color: white;
142 border: 1px solid silver;
143 border-radius: 10px 10px 10px 10px;
144 box-shadow: 0 3px 100px silver;
145 left: 30%;
146 padding: 10px;
147 position: absolute;
148 top: 20%;
149 width: 40%;
150 }
151 .hidden-block{
152 display: none;
153 }
154 .menu-item-icon{
155 margin-right: .5em;
156 }
157 .rtl .menu-item-icon{
158 margin-right: inherit !important;
159 margin-left: .5em;
160 }
161 </style>
162 </head>
163 <body>
164 <div class="container theme-bootstrap theme-compact">
165
166 <!-- top navbar -->
167 <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
168 <div class="navbar-header">
169 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
170 <span class="sr-only"><?php echo $Translation['toggle navigation'];?></span>
171 <span class="icon-bar"></span>
172 <span class="icon-bar"></span>
173 <span class="icon-bar"></span>
174 </button>
175 <a class="navbar-brand" href="pageHome.php"><span class="text-info"><i class="glyphicon glyphicon-cog"></i> <?php echo $Translation['admin area']; ?></span></a>
176 </div>
177
178 <div class="collapse navbar-collapse navbar-ex1-collapse">
179 <ul class="nav navbar-nav">
180 <li class="dropdown">
181 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-globe"></i> <?php echo $Translation['groups']; ?> <b class="caret"></b></a>
182 <ul class="dropdown-menu">
183 <li><a href="pageViewGroups.php"><i class="glyphicon menu-item-icon text-info glyphicon-eye-open"></i> <?php echo $Translation['view groups']; ?></a></li>
184 <li><a href="pageEditGroup.php"><i class="glyphicon menu-item-icon text-info glyphicon-plus"></i> <?php echo $Translation['add group'] ; ?></a></li>
185 <li class="divider"></li>
186 <li><a href="pageEditGroup.php?groupID=<?php echo sqlValue("select groupID from membership_groups where name='" . makeSafe($adminConfig['anonymousGroup']) . "'"); ?>"><i class="glyphicon menu-item-icon text-info glyphicon-user"></i> <?php echo $Translation['edit anonymous permissions'] ; ?></a></li>
187 </ul>
188 </li>
189
190 <li class="dropdown">
191 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-user"></i> <?php echo $Translation['members'] ;?> <b class="caret"></b></a>
192 <ul class="dropdown-menu">
193 <li><a href="pageViewMembers.php"><i class="glyphicon menu-item-icon text-info glyphicon-eye-open"></i> <?php echo $Translation['view members'] ; ?></a></li>
194 <li><a href="pageEditMember.php"><i class="glyphicon menu-item-icon text-info glyphicon-plus"></i> <?php echo $Translation['add member'] ; ?></a></li>
195 <li class="divider"></li>
196 <li><a href="pageViewRecords.php"><i class="glyphicon menu-item-icon text-info glyphicon-th"></i> <?php echo $Translation["view members' records"]; ?> </a></li>
197 </ul>
198 </li>
199
200 <li class="dropdown">
201 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-cog"></i> <?php echo $Translation["utilities"] ; ?> <b class="caret"></b></a>
202 <ul class="dropdown-menu">
203 <li><a href="pageSettings.php"><i class="glyphicon menu-item-icon text-info glyphicon-cog"></i> <?php echo $Translation["admin settings"] ; ?></a></li>
204 <li class="divider"></li>
205 <li><a href="pageRebuildThumbnails.php"><i class="glyphicon menu-item-icon text-info glyphicon-picture"></i> <?php echo $Translation["rebuild thumbnails"] ; ?></a></li>
206 <li><a href="pageRebuildFields.php"><i class="glyphicon menu-item-icon text-info glyphicon-refresh"></i> <?php echo $Translation['rebuild fields'] ; ?></a></li>
207 <li><a href="pageUploadCSV.php"><i class="glyphicon menu-item-icon text-info glyphicon-upload"></i> <?php echo $Translation['import CSV'] ; ?></a></li>
208 <li><a href="pageTransferOwnership.php"><i class="glyphicon menu-item-icon text-info glyphicon-random"></i> <?php echo $Translation['batch transfer'] ; ?></a></li>
209 <li><a href="pageMail.php?sendToAll=1"><i class="glyphicon menu-item-icon text-info glyphicon-envelope"></i> <?php echo $Translation['mail all users'] ; ?></a></li>
210 <li><a href="pageBackupRestore.php"><i class="glyphicon menu-item-icon text-info glyphicon-tasks"></i> <?php echo $Translation['database backups'] ; ?></a></li>
211 <li class="divider"></li>
212 <li><a href="https://forums.appgini.com" target="_blank"><i class="glyphicon menu-item-icon text-info glyphicon-new-window"></i> <?php echo $Translation['AppGini forum']; ?></a></li>
213 </ul>
214 </li>
215
216 <?php $plugins = get_plugins(); ?>
217
218 <?php if(count($plugins)){ ?>
219 <li class="dropdown">
220 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-plus"></i> <?php echo $Translation["plugins"] ; ?> <b class="caret"></b></a>
221 <ul class="dropdown-menu">
222 <?php foreach($plugins as $plugin){ ?>
223 <?php
224 $plugin_icon = '';
225 if($plugin['glyphicon']) $plugin_icon = "<i class=\"glyphicon glyphicon-{$plugin['glyphicon']}\"></i> ";
226 if($plugin['icon']) $plugin_icon = "<img src=\"{$plugin['admin_path']}/{$plugin['icon']}\"> ";
227 ?>
228 <li><a target="_blank" href="<?php echo $plugin['admin_path']; ?>"><?php echo $plugin_icon . $plugin['title']; ?></a></li>
229 <?php } ?>
230 </ul>
231 </li>
232 <?php } ?>
233 </ul>
234
235 <div class="navbar-right">
236 <a href="<?php echo PREPEND_PATH; ?>index.php" class="btn btn-success navbar-btn"><?php echo $Translation["user's area"] ; ?></a>
237 <a href="<?php echo PREPEND_PATH; ?>index.php?signOut=1" class="btn btn-warning navbar-btn"><i class="glyphicon glyphicon-log-out"></i> <?php echo $Translation["sign out"] ; ?></a>
238 </div>
239 </div>
240 </nav>
241 <script>
242 /* periodically check if user is still signed in */
243 setInterval(function(){
244 $j.ajax({
245 url: '<?php echo PREPEND_PATH; ?>ajax_check_login.php',
246 success: function(username){
247 if(!username.length) window.location = '<?php echo PREPEND_PATH; ?>index.php?signIn=1';
248 }
249 });
250 }, 60000);
251 </script>
252
253 <?php echo handle_maintenance(true); ?>
254 <div style="height: 80px;"></div>
255
256 <?php echo Notification::placeholder(); ?>
257
258 <!-- tool tips support -->
259 <div id="TipLayer" style="visibility:hidden;position:absolute;z-index:1000;top:-100"></div>
260 <script src="toolTipData.js"></script>
261 <!-- /tool tips support -->
262
263 <?php
264 if(!strstr($_SERVER['PHP_SELF'], 'pageSettings.php') && $adminConfig['adminPassword'] == md5('admin')){
265 $noSignup=TRUE;
266 ?>
267 <div class="alert alert-danger">
268 <p><strong><?php echo $Translation["attention"] ; ?></strong></p>
269 <p><?php if($adminConfig['adminUsername'] == 'admin'){
270 echo $Translation['security risk admin'];
271 }else{
272 echo $Translation['security risk'];
273 } ?></p>
274 </div>
275 <?php } ?>
2 <?php if(!defined('PREPEND_PATH')) define('PREPEND_PATH', '../'); ?>
3 <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
4 <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
5 <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
6 <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
7 <head>
8 <meta charset="<?php echo datalist_db_encoding; ?>">
9 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
10 <meta name="description" content="">
11 <meta name="viewport" content="width=device-width, initial-scale=1.0">
12 <title>Hệ thống xếp lịch học tín chỉ cho sinh viên CNTT | <?php echo $Translation['admin area']; ?><?php echo html_attr(isset($GLOBALS['page_title']) ? " | {$GLOBALS['page_title']}" : ''); ?></title>
13
14 <link id="browser_favicon" rel="shortcut icon" href="<?php echo PREPEND_PATH; ?>resources/table_icons/administrator.png">
15
16 <link rel="stylesheet" href="<?php echo PREPEND_PATH; ?>resources/initializr/css/bootstrap.css">
17 <link rel="stylesheet" href="<?php echo PREPEND_PATH; ?>dynamic.css.php">
18
19 <!--[if lt IE 9]>
20 <script src="<?php echo PREPEND_PATH; ?>resources/initializr/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js"></script>
21 <![endif]-->
22 <script src="<?php echo PREPEND_PATH; ?>resources/jquery/js/jquery-1.12.4.min.js"></script>
23 <script>var $j = jQuery.noConflict(); var AppGini = AppGini || {};</script>
24 <script src="toolTips.js"></script>
25 <script src="<?php echo PREPEND_PATH; ?>resources/initializr/js/vendor/bootstrap.min.js"></script>
26 <script src="<?php echo PREPEND_PATH; ?>resources/lightbox/js/prototype.js"></script>
27 <script src="<?php echo PREPEND_PATH; ?>resources/lightbox/js/scriptaculous.js?load=effects"></script>
28 <script>
29
30 // VALIDATION FUNCTIONS FOR VARIOUS PAGES
31
32 function jsValidateEmail(address){
33 var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
34 if(reg.test(address) == false){
35 modal_window({ message: '<div class="alert alert-danger">'+"<?php echo $Translation['invalid email'];?>"+'</div>', title: "<?php echo $Translation['error'] ; ?>" });
36 return false;
37 }else{
38 return true;
39 }
40 }
41
42 function jsShowWait(){
43 return window.confirm("<?php echo $Translation['sending mails']; ?>");
44 }
45
46 function jsValidateAdminSettings(){
47 var p1=document.getElementById('adminPassword').value;
48 var p2=document.getElementById('confirmPassword').value;
49 if(p1=='' || p1==p2){
50 return jsValidateEmail(document.getElementById('senderEmail').value);
51 }else{
52 modal_window({ message: '<div class="alert alert-error">'+"<?php echo $Translation['password mismatch']; ?>"+'</div>', title: "<?php echo $Translation['error'] ; ?>" });
53 return false;
54 }
55 }
56
57 function jsConfirmTransfer(){
58 var confirmMessage;
59 var sg=document.getElementById('sourceGroupID').options[document.getElementById('sourceGroupID').selectedIndex].text;
60 var sm=document.getElementById('sourceMemberID').value;
61 var dg=document.getElementById('destinationGroupID').options[document.getElementById('destinationGroupID').selectedIndex].text;
62 if(document.getElementById('destinationMemberID')){
63 var dm=document.getElementById('destinationMemberID').value;
64 }
65 if(document.getElementById('dontMoveMembers')){
66 var dmm=document.getElementById('dontMoveMembers').checked;
67 }
68 if(document.getElementById('moveMembers')){
69 var mm=document.getElementById('moveMembers').checked;
70 }
71
72 //confirm('sg='+sg+'\n'+'sm='+sm+'\n'+'dg='+dg+'\n'+'dm='+dm+'\n'+'mm='+mm+'\n'+'dmm='+dmm+'\n');
73
74 if(dmm && !dm){
75 modal_window({ message: '<div>'+"<?php echo $Translation['complete step 4']; ?>"+'</div>', title: "<?php echo $Translation['info']; ?>", close: function(){ /* */ jQuery('#destinationMemberID').focus(); } });
76 return false;
77 }
78
79 if(mm && sm!='-1'){
80
81 confirmMessage = "<?php echo $Translation['sure move member']; ?>";
82 confirmMessage = confirmMessage.replace(/<MEMBER>/, sm).replace(/<OLDGROUP>/, sg).replace(/<NEWGROUP>/, dg);
83 return window.confirm(confirmMessage);
84
85 }
86 if((dmm || dm) && sm!='-1'){
87
88 confirmMessage = "<?php echo $Translation['sure move data of member']; ?>";
89 confirmMessage = confirmMessage.replace(/<OLDMEMBER>/, sm).replace(/<OLDGROUP>/, sg).replace(/<NEWMEMBER>/, dm).replace(/<NEWGROUP>/, dg);
90 return window.confirm(confirmMessage);
91 }
92
93 if(mm){
94
95 confirmMessage = "<?php echo $Translation['sure move all members']; ?>";
96 confirmMessage = confirmMessage.replace(/<OLDGROUP>/, sg).replace(/<NEWGROUP>/, dg);
97 return window.confirm(confirmMessage);
98 }
99
100 if(dmm){
101
102
103 confirmMessage = "<?php echo $Translation['sure move data of all members']; ?>";
104 confirmMessage = confirmMessage.replace(/<OLDGROUP>/, sg).replace(/<MEMBER>/, dm).replace(/<NEWGROUP>/, dg);
105 return window.confirm(confirmMessage);
106 }
107 }
108
109 function showDialog(dialogId){
110 $$('.dialog-box').invoke('addClassName', 'hidden-block');
111 $(dialogId).removeClassName('hidden-block');
112 return false
113 };
114
115 function hideDialogs(){
116 $$('.dialog-box').invoke('addClassName', 'hidden-block');
117 return false
118 };
119
120
121 $j(function(){
122 $j('input[type=submit],input[type=button]').each(function(){
123 var label = $j(this).val();
124 var onclick = $j(this).attr('onclick') || '';
125 var name = $j(this).attr('name') || '';
126 var type = $j(this).attr('type');
127
128 $j(this).replaceWith('<button class="btn btn-primary" type="' + type + '" onclick="' + onclick + '" name="' + name + '" value="' + label + '">' + label + '</button>');
129 });
130
131 /* fix links inside alerts */
132 $j('.alert a:not(.btn)').addClass('alert-link');
133 });
134
135 </script>
136
137 <link rel="stylesheet" href="adminStyles.css">
138
139 <style>
140 .dialog-box{
141 background-color: white;
142 border: 1px solid silver;
143 border-radius: 10px 10px 10px 10px;
144 box-shadow: 0 3px 100px silver;
145 left: 30%;
146 padding: 10px;
147 position: absolute;
148 top: 20%;
149 width: 40%;
150 }
151 .hidden-block{
152 display: none;
153 }
154 .menu-item-icon{
155 margin-right: .5em;
156 }
157 .rtl .menu-item-icon{
158 margin-right: inherit !important;
159 margin-left: .5em;
160 }
161 </style>
162 </head>
163 <body>
164 <div class="container theme-bootstrap theme-compact">
165
166 <!-- top navbar -->
167 <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
168 <div class="navbar-header">
169 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
170 <span class="sr-only"><?php echo $Translation['toggle navigation'];?></span>
171 <span class="icon-bar"></span>
172 <span class="icon-bar"></span>
173 <span class="icon-bar"></span>
174 </button>
175 <a class="navbar-brand" href="pageHome.php"><span class="text-info"><i class="glyphicon glyphicon-cog"></i> <?php echo $Translation['admin area']; ?></span></a>
176 </div>
177
178 <div class="collapse navbar-collapse navbar-ex1-collapse">
179 <ul class="nav navbar-nav">
180 <li class="dropdown">
181 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-globe"></i> <?php echo $Translation['groups']; ?> <b class="caret"></b></a>
182 <ul class="dropdown-menu">
183 <li><a href="pageViewGroups.php"><i class="glyphicon menu-item-icon text-info glyphicon-eye-open"></i> <?php echo $Translation['view groups']; ?></a></li>
184 <li><a href="pageEditGroup.php"><i class="glyphicon menu-item-icon text-info glyphicon-plus"></i> <?php echo $Translation['add group'] ; ?></a></li>
185 <li class="divider"></li>
186 <li><a href="pageEditGroup.php?groupID=<?php echo sqlValue("select groupID from membership_groups where name='" . makeSafe($adminConfig['anonymousGroup']) . "'"); ?>"><i class="glyphicon menu-item-icon text-info glyphicon-user"></i> <?php echo $Translation['edit anonymous permissions'] ; ?></a></li>
187 </ul>
188 </li>
189
190 <li class="dropdown">
191 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-user"></i> <?php echo $Translation['members'] ;?> <b class="caret"></b></a>
192 <ul class="dropdown-menu">
193 <li><a href="pageViewMembers.php"><i class="glyphicon menu-item-icon text-info glyphicon-eye-open"></i> <?php echo $Translation['view members'] ; ?></a></li>
194 <li><a href="pageEditMember.php"><i class="glyphicon menu-item-icon text-info glyphicon-plus"></i> <?php echo $Translation['add member'] ; ?></a></li>
195 <li class="divider"></li>
196 <li><a href="pageViewRecords.php"><i class="glyphicon menu-item-icon text-info glyphicon-th"></i> <?php echo $Translation["view members' records"]; ?> </a></li>
197 </ul>
198 </li>
199
200 <li class="dropdown">
201 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-cog"></i> <?php echo $Translation["utilities"] ; ?> <b class="caret"></b></a>
202 <ul class="dropdown-menu">
203 <li><a href="pageSettings.php"><i class="glyphicon menu-item-icon text-info glyphicon-cog"></i> <?php echo $Translation["admin settings"] ; ?></a></li>
204 <li class="divider"></li>
205 <li><a href="pageRebuildThumbnails.php"><i class="glyphicon menu-item-icon text-info glyphicon-picture"></i> <?php echo $Translation["rebuild thumbnails"] ; ?></a></li>
206 <li><a href="pageRebuildFields.php"><i class="glyphicon menu-item-icon text-info glyphicon-refresh"></i> <?php echo $Translation['rebuild fields'] ; ?></a></li>
207 <li><a href="pageUploadCSV.php"><i class="glyphicon menu-item-icon text-info glyphicon-upload"></i> <?php echo $Translation['import CSV'] ; ?></a></li>
208 <li><a href="pageTransferOwnership.php"><i class="glyphicon menu-item-icon text-info glyphicon-random"></i> <?php echo $Translation['batch transfer'] ; ?></a></li>
209 <li><a href="pageMail.php?sendToAll=1"><i class="glyphicon menu-item-icon text-info glyphicon-envelope"></i> <?php echo $Translation['mail all users'] ; ?></a></li>
210 <li><a href="pageBackupRestore.php"><i class="glyphicon menu-item-icon text-info glyphicon-tasks"></i> <?php echo $Translation['database backups'] ; ?></a></li>
211 <li class="divider"></li>
212 <li><a href="https://forums.appgini.com" target="_blank"><i class="glyphicon menu-item-icon text-info glyphicon-new-window"></i> <?php echo $Translation['AppGini forum']; ?></a></li>
213 </ul>
214 </li>
215
216 <?php $plugins = get_plugins(); ?>
217
218 <?php if(count($plugins)){ ?>
219 <li class="dropdown">
220 <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-plus"></i> <?php echo $Translation["plugins"] ; ?> <b class="caret"></b></a>
221 <ul class="dropdown-menu">
222 <?php foreach($plugins as $plugin){ ?>
223 <?php
224 $plugin_icon = '';
225 if($plugin['glyphicon']) $plugin_icon = "<i class=\"glyphicon glyphicon-{$plugin['glyphicon']}\"></i> ";
226 if($plugin['icon']) $plugin_icon = "<img src=\"{$plugin['admin_path']}/{$plugin['icon']}\"> ";
227 ?>
228 <li><a target="_blank" href="<?php echo $plugin['admin_path']; ?>"><?php echo $plugin_icon . $plugin['title']; ?></a></li>
229 <?php } ?>
230 </ul>
231 </li>
232 <?php } ?>
233 </ul>
234
235 <div class="navbar-right">
236 <a href="<?php echo PREPEND_PATH; ?>index.php" class="btn btn-success navbar-btn"><?php echo $Translation["user's area"] ; ?></a>
237 <a href="<?php echo PREPEND_PATH; ?>index.php?signOut=1" class="btn btn-warning navbar-btn"><i class="glyphicon glyphicon-log-out"></i> <?php echo $Translation["sign out"] ; ?></a>
238 </div>
239 </div>
240 </nav>
241 <script>
242 /* periodically check if user is still signed in */
243 setInterval(function(){
244 $j.ajax({
245 url: '<?php echo PREPEND_PATH; ?>ajax_check_login.php',
246 success: function(username){
247 if(!username.length) window.location = '<?php echo PREPEND_PATH; ?>index.php?signIn=1';
248 }
249 });
250 }, 60000);
251 </script>
252
253 <?php echo handle_maintenance(true); ?>
254 <div style="height: 80px;"></div>
255
256 <?php echo Notification::placeholder(); ?>
257
258 <!-- tool tips support -->
259 <div id="TipLayer" style="visibility:hidden;position:absolute;z-index:1000;top:-100"></div>
260 <script src="toolTipData.js"></script>
261 <!-- /tool tips support -->
262
263 <?php
264 if(!strstr($_SERVER['PHP_SELF'], 'pageSettings.php') && $adminConfig['adminPassword'] == md5('admin')){
265 $noSignup=TRUE;
266 ?>
267 <div class="alert alert-danger">
268 <p><strong><?php echo $Translation["attention"] ; ?></strong></p>
269 <p><?php if($adminConfig['adminUsername'] == 'admin'){
270 echo $Translation['security risk admin'];
271 }else{
272 echo $Translation['security risk'];
273 } ?></p>
274 </div>
275 <?php } ?>